//
//  CZBaseTableViewController.swift
//  weibo10
//
//  Created by apple on 16/5/11.
//  Copyright © 2016年 apple. All rights reserved.
//

import UIKit

class CZBaseTableViewController: UITableViewController {

    //用户登录状态
    var userLogin: Bool = CZUserAccountViewModel.sharedInstance.isUserLogin 
    
   
        
        //根据用户使用登录显示不同界面 （1 tableView  2 显示自定义的访客视图）
        
    override func loadView()
        {
            if userLogin {
            //显示按照正常流程（tableView）
                super.loadView()
                
        }else
            {
            //用户没有登录（自己搞一个界面）
                
            view = visitorView
                
               //5 设置控制器成为visitorView的代理
                visitorView.delegate = self

                //根据不同的控制器设置不同的访客视图内容，我们床架的都是子类self是子类的类型
                if self is CZHomeViewController
                {
              
                  visitorView.startRotationAnimation()
                    
                
                }else if self is CZMessageViewController
                {
                
                visitorView.setupVisitorInfo("visitordiscover_image_message", message: "登录后可收到通知")
                    
                }else if self is CZDiscoverViewController
                {
                visitorView.setupVisitorInfo("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
                    
                }else if self is CZProfileViewController
                {
                visitorView.setupVisitorInfo("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
                    
                }
                
                //设置导航栏按钮  导航栏上显示的内容不实导航控制器决定的，是根据导航控制器正在显示的子控制器来决定的
                self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidClickRegister")
            
                
                self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidClickLogin")
                
            }
            
        
        }
    
    //懒加载  访客视图   private 私有，除了这个文件外，别人不知道有这个属性
    
    private lazy var visitorView: CZVisitorView = CZVisitorView()
    
    }
    
// 6 控制器遵守CZVisitorView协议
extension CZBaseTableViewController: CZVisitorViewDelegate
{
//7 实现协议方法
    func visitorViewDidClickRegister() {
        print(__FUNCTION__)
    }

    func visitorViewDidClickLogin() {
      
        //Modal出授权控制器
        let oauthVC = CZOauthViewController()
        
        let nav = UINavigationController(rootViewController: oauthVC)
      self.presentViewController(nav, animated: true, completion: nil)
        
        }
}
    
    
    

